#include <stdio.h>

#include "fileAttente_Personnel.h"




int main()
{
    Enreg enreg;

    int finFichier;

    Ligne ligne;

    FILE input;
    FILE* input_adress;
    long pos;
    char *adress;
    int id=0;

    personnelAttente ListeAttente_Personnel;

    Agent transferedPersonnel;

    int miseajour=0;

    int i ;

    Agent* tempo;
   // int i;
   // char* ch;
    Agent smith;
    init_Agent(&smith);
    smith.id = 1007;
personnel per[100];
/*
char c,mp,ms;
int i,n,m,s,h,nb,f,tes,v,j,h1,h2,h3,m1,m2,m3,s1,s2,s3,y;
char ha[2];
char ma[2];
char sa[2];
char o[50];
char idc [15];


FILE *file = fopen("/home/mohamed/Desktop/prog code/lecturetemps/text","r");

v=-1;
do {

fgets(o,19,file);




idc[0]=o[9];
idc[1]=o[10];
idc[2]=o[11];
idc[3]=o[12];
idc[4]=o[13];
nb=atoi(idc);
i=0;
do
{

if (((per[i].id)==nb)||(per[i].id==0))
{
per[i].id=nb;
f=per[i].k;
//printf("\nligne: %s\n",o);
//printf("identifiant:%d\n",nb);

mp=o[3];
ma[0]=mp;
ms=o[4];
ma[1]=ms;
ha[0]=o[0];

ha[1]=o[1];

sa[0]=o[6];
sa[1]=o[7];

h=((atoi(ha))/10000);
m=(atoi(ma)/100);
s=atoi(sa);
//printf("heure:%d  minute:%d  secondes:%d",h,m,s);
per[i].l[f].heu=h;
per[i].l[f].min=m;
per[i].l[f].sec=s;
per[i].l[f].capteur[0]=o[15];
per[i].l[f].capteur[1]=o[16];
per[i].l[f].capteur[2]=o[17];
//printf("\ncapteur:");
//puts(per[i].l[f].capteur);
per[i].k++;
tes=1;



}
else {tes=0;
        i++;
        //printf("i:%d v:%d\t",i,v);}
}
}
while (tes==0);
}while (fgets(o,1000,file) != NULL);

fclose(file);

for(n=0;n<10;n++)
{
printf("\n");
puts("****************************************************************");
puts("****************************************************************");
for (j=0;j<(per[n]).k-1;j++)
{

printf("\nid:%d  capteur %s temps %d:%d:%d ",per[n].id,per[n].l[j].capteur,per[n].l[j].heu,per[n].l[j].min,per[n].l[j].sec);
printf("\nid:%d  capteur %s temps %d:%d:%d ",per[n].id,per[n].l[j+1].capteur,per[n].l[j+1].heu,per[n].l[j+1].min,per[n].l[j+1].sec);
printf("\nid:%d intervalle entre capteur %s et %s ", per[n].id , per[n].l[j].capteur , per[n].l[j+1].capteur );
s1=per[n].l[j+1].sec;
s2=per[n].l[j].sec;
m1=per[n].l[j+1].min;
m2=per[n].l[j].min;
h1=per[n].l[j+1].heu;
h2=per[n].l[j].heu;
do{
s3=s1-s2;
if(s3<0)
{s1=s1+60;
m2=m2+1;
s3=s1-s2;
}
}while(s3<0);
do{
m3=m1-m2;
if(m3<0){m1=m1+60;
h2=h2+1;
m3=m1-m2;}}
while(m3<0);
do{
h3=h1-h2;
if(h3<0){
h1=h1+24;
h3=h1-h2;}
}while(h3<0);
printf("%d:%d:%d\n",h3,m3,s3);
if((m3<5)&&(h==0)){printf("ALERTE! ALERTE! ALERTE!\n");};
};
}*/
    int mp,m1,m2;
    int enter;

//**********************************
    enter=authentification();


//********************************

    if (enter == 1) {

    adress = "tmp.txt";



    init_enreg(&enreg);
    init_personnelAttente(&ListeAttente_Personnel);

    input_adress = ouverture(&input,adress);





    enreg.tab = (Agent*) malloc(sizeof(Agent)*6);
    ListeAttente_Personnel.tab = (Agent*) malloc(sizeof(Agent)*1000);






    do{




        tempo = init_Agent(  &(enreg.tab[enreg.nb])  );



        enreg.tab[enreg.nb].cmpt = tempo->cmpt;

        //printf("tab cmpt:%d\n",enreg.tab[enreg.nb].cmpt );

        finFichier = lecture(input_adress,&ligne,&pos);

       // printf("input-input_adress:%d-%d\n",input,input_adress);

        remplir_enreg(&enreg,&ligne,input_adress);

        //printf("%d\n",enreg.tab[0].id);
        //afficher_enreg(&enreg);

    }while(finFichier == 0);

    (enreg.nb)--;

   input_adress = fermeture(input_adress,finFichier);
// ***********************enreg *********

    FILE * output_Personnel_IDCap;

	save_Enregistrement(output_Personnel_IDCap,enreg);

//********************************
    menu_Principal();

    printf("Donnez votre choix (Principal)\n");
    scanf("%d",&mp);


    while(mp != 3) {

    switch (mp) {

    case 1:

        menu_Personnel();
        printf("Donnez votre choix (Personnel)\n");
        scanf("%d",&m1);

        while(m1 != 9){

                switch(m1) {

             case 1:
            afficher_enreg(&enreg);
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;

             case 2:
            init_Agent(&smith);
            smith=saisie_Agent();
            ajout(&enreg,smith);
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;



            case 3 :

            printf("Donnez l'id a supprimer\n");
            scanf("%d",&(smith.id));
            suppression(&enreg,smith);
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;

            case 4 :

            verif(&enreg);
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;

            case 5 :

            recherche(&enreg,id);
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;

            case 6:
            miseajour = 1;
            ajoutPersonnel_Attente(&enreg,&ListeAttente_Personnel);
            printf("======> Mise à jour fait !!! <======\n");
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;
            case 7 :
                if (miseajour == 1) {
            affichage_Personnel_Attente(&ListeAttente_Personnel);
                }else{
                printf("======> Liste Attente vide !! <=======\n");
                printf("==> Veuillez mettre à jour la liste <==! \n");
                }
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;

            case 8:

            transferedPersonnel = suppressionPersonnel_Attente(&ListeAttente_Personnel);
            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;

            default :

            printf("Mauvais choix !!!\n");

            menu_Personnel();
            printf("Donnez votre choix (Personnel) \n");
            scanf("%d",&m1);
            break;
                }

        }
        break;

            case 2:
	//void chrono();	
            printf("Veuillez verifier les fichiers enregistrées \n");
           /* menu_Patient();
            printf("Donnez votre choix \n");
            scanf("%d",&m2);
            */
	gestionPatient();

	menu_Principal();

    	printf("Donnez votre choix (Principal)\n");
    	scanf("%d",&mp);
            break;


            default :

            printf("Mauvais choix !!!\n");

            menu_Principal();

            printf("Donnez votre choix (Principal)\n");
            scanf("%d",&mp);

            break;









    }

    menu_Principal();

    printf("Donnez votre choix (Principal) \n");
    scanf("%d",&mp);
    }

/*
    ajoutPersonnel_Attente(&enreg,&ListeAttente_Personnel);

    affichage_Personnel_Attente(&ListeAttente_Personnel);
*/



    }

    printf("Au revoir !!\n");

    return 0;
}

